A token ring network comprises of a set of stations serially connected by a transmission medium. Information is transferred sequentially from one station to the next. Each station generally regenerates and repeats each packet and serves as the means for attaching one or more devices to the ring for the purpose of communicating with other devices on the network. A given station transmits a packet onto the ring, where the packet circulates from one station to the next. The addressed destination station(s) copies the packet as it passes. Finally, the station that transmitted the packet effectively removes the packet from the ring.
A station gains the right to transmit a packet onto the medium when it detects a token packet passing on the medium. The token packet is a control packet comprised of a unique signalling sequence that circulates on the medium following each packet transfer. A station which wants to transmit a packet captures the token packet by modifying its' fields. The station then transmits it's packet, and upon the completion of the transmission, issues a new token packet into the ring.
Examples of packet-switched networks are described, for example, in Thomas C. Bartee, 1989, "ISDN, DECnetTM, and SNA Communications", Howard W. Sams & Company, incorporated herein by reference.
In packet-switched networks information bits are grouped into blocks, or packets, at a send station (sender), transmitted in serial format and then reassembled into the original form at a receive (receiver) station. Users or hosts (typically data terminals or computers having parallel data busses) are attached to the transmission medium at nodes. At each node, an adapter converts the serial data packets for parallel processing by the host. The transmitted data packets for parallel processing may comprise information data packets as well as network management data packets and network maintenance data packets.
In high bandwidth (high speed) packet-switched data transmission networks, thousands of data packets may be transmitted and received per second. Each adapter should incorporate adequate resources for processing received data packets to avoid loss of data, especially network management and network maintenance data.
During data packet transmission, data is transmitted to a destination, and an acknowledgement automatically is returned indicating that a data packet has been received. One method of ensuring reliability is by buffering the data packet at the sender, thereby saving a copy of each message sent until an acknowledgement for that message is returned. When no acknowledgement is returned within a predetermined time period, the data packet is resent, a function known as "retry". A drawback of this solution is that it may flood an already congested system with copies of the same data packet. However, this method greatly increases reliability because the data packet has a higher probability of eventually reaching its destination.
Not every data packet transmitted over a network may initiate automatic "retry" transmission management. Typically station management packets and maintenance operations protocol (MOP) packets are not retried due to the origin of the data packets. MOP and station management command data packets are initiated manually, whereas other types of data packets are initiated through internal system software. For example, one type of MOP packet is a reboot message sent by an external user. When the reboot data packet is transmitted, the external user must judge whether the data packet reaches the desired receiver, and if it can be visually determined that it did not, the command must be re-executed. Because these commands are manually entered, there are no software hooks, such as the automatic retry mechanism, to ensure that the data to be transmitted reaches its destination. Other types of station management and MOP packets handle situations when the system is about to go down, and data must be stored and operations must be performed in order to save crucial system data. It is therefore critical to increase the likelihood that these data packets reach their destination and are not discarded, for their loss could cause irreparable damage to the system.
Network designs have dealt with this situation in various ways. Typical network adapters process received data packets on a first come first served basis. If the resources at the adapter cannot handle additional data packets, the packet is discarded. These systems may not use the entire network packet carrying capacity in order to maintain reliability.
When a node on a network cannot receive new data packets, the network becomes congested. Congestion algorithms have been implemented to increase transmission reliability by monitoring system traffic and adjusting data transmission to a desired rate. This has been achieved by flagging the sender that the receiver has reached capacity and further transmission should not be initiated. Unfortunately, the flagging mechanism requires transmitting a packet into a congested network, and therefore the packet may be lost due to lack of network resources.
Another method of increasing data transmission reliability is to allocate buffer memory at the receive adapter to store incoming packets before they are passed onto the receive host. The addition of adapter buffer memory allows receipt of incoming data packets while the host is engaged in processing an earlier packet. However, there remains the issue of what happens to incoming data packets when the receive adapter handling capacity has been reached and there is no more available storage capacity in the adapter buffer memory. Sufficient adapter buffer memory to handle all incoming packet rates increases cost by adding memory capacity and increasing hardware complexity. In addition, it does not fully utilize the reliability advantage of the transmission systems employing automatic retry mechanisms.
It would be desirable to have a network adapter which could operate at the maximum network bandwidth while guaranteeing delivery of a minimum number of maintenance operations protocol or station management packets even during times of major congestion.